1. Field of the Invention
This invention generally relates to the maintenance of data redundancy in a data storage facility and more particularly to recovering data in such a facility.
2. Description of Related Art
Many data processing applications now operate on digital data processing systems that incorporate large scale memory facilities. These large scale memory facilities take many forms. One such form is a disk array storage device (DASD) in which data is stored at a local large scale disk memory with many physical disk drives. In other applications it may be desired to distribute the functions of equivalent devices over a network at different network nodes in a local-area or wide-area network.
When data integrity is critical, such large scale disk memory facilities include some type of data redundancy. Memory mirrors provide on-site redundancy to protect against equipment failure. U.S. Pat. No. 5,206,939 to Yanai et al. and assigned to the same assignee as this invention discloses a remote system that normally acts as a mirror of a local system. The geographical separation between the local and remote systems provides an extremely high degree of reliability, particularly as protection against a natural disaster.
More recently U.S. Pat. No. 6,101,497 granted Aug. 8, 2000 discloses a tool that is particularly well adapted for facilitating redundancy. This device, called a BCV device, establishes a special physical disk structure that acts as a moving physical mirror to attach to and to synchronize with a standard device with one or more fixed physical mirrors without interfering with normal operations between an application program being run by a host using data on the standard device. Once the data in this BCV moving mirror is synchronized with the data in the standard device, it can be split or isolated from the standard device and thereafter be available for backup or for use by another application.
As known, data on a standard device can, for a variety of reasons, become corrupt. As described in the foregoing U.S. Pat. No. 6,101,497, a restore or an incremental restore command initiates a restoration procedure that copies data from the redundant BCV physical mirror to the standard device, assuming that data on the BCV physical mirror has not been changed. For example, a BCV physical mirror used as a source for a tape backup will maintain the data without change. In this situation, the data on the BCV physical mirror represents the data that existed when the BCV physical mirror was isolated from the standard device. So it does not represent the data that actually exists on the standard device if an event occurs that requires restoration; rather it represents the data that existed at some earlier point in time.
However, many databases and other applications maintain a log file, or like file that records each transfer and the sequence of each transfer. Entries from such a file from a point in time after the prior isolation can be used to recover or update the data fully on the standard volume. One such update procedure is known as xe2x80x9cunrolling the redo logsxe2x80x9d. During this procedure, the BCV device may be attached to the standard device. As each log entry is processed, a write operation transfers the data associated with that log entry to both the standard device and the BCV physical mirror. Consequently, after the first write operation occurs, the data on the BCV physical mirror is no longer identical to the data that had been on the BCV physical mirror at the time of a prior split.
Oftentimes errors can occur while performing an update procedure like unrolling the redo logs thereby corrupting the data on the standard device and, due to the mirroring function, the data on the BCV physical mirror. When this occurs it may be required to recover data from a tape backup made even earlier in time and again try to reconstruct the current data by unrolling the redo logs for a longer time interval. Data recovery involving tape backups can be time consuming and tedious. What is needed is a process by which the data used on a mirror for restoration, like data on a BCV physical mirror, is not altered until an update procedure, such as unrolling the redo logs, has been completed without error.
With prior data recovery operations, data from a BCV physical mirror is restored to a standard device before an update procedure, such as unrolling the redo logs, is initiated. Conducting the restoration and update procedures in series can result in long downtime for a production volume. What is needed is a data recovery operation that enables the restoration and update procedures to occur concurrently.
Therefore it is an object of this invention to improve a facility for recovering data from a redundancy device.
Another object of this invention is to provide a facility for improving data recovery involving specially configured physical mirrors that can interact with multiple applications.
Still another object of this invention is to provide a data recovery operation that assures the integrity of data used in a restoration and stored on a device providing the restoration data.
Yet another object of this invention is provide a data recovery procedure during which restoration and update procedures operate concurrently.
This invention facilitates the recovery of data that is characterized by a restoring procedure for copying data to a first data store for a primary copy of the data from a second data store. The second data store operates in a first mode as a mirror to the first data store and in a second mode isolated from the first data store. An update procedure updates data on the first data store. The data recovery operation further includes preventing data transfers to locations in the second data store during the data recovery procedure. Restoration of the data includes identifying locations in the first data store and copying data to the identified locations in the first data store from corresponding identified locations in the second data store.